Python基础语法(四) |
您所在的位置:网站首页 › 字典 列表 元组 › Python基础语法(四) |
列表基本概念列表是有序的元素集合,所有元素放在一对中括号中,用逗号隔开,没有长度限制;列表索引值以0为开始值,-1为从未尾的开始位置。列表可以使用+操作符进行拼接,使用*表示重复。当列表元素增加或删除时,列表对象自动进行扩展或收缩内存,保证元素之间没有缝隙;列表中的元素可以是不同类型的列表的使用方式list = ["zeruns","blog","blog.zeruns.tech",9527,[0,1,2,[1,2]]]#创建一个列表,一个列表里可以有多种数据类型,甚至可以嵌套列表来做二或三维列表
# 0 1 2 3 4
# -5 -4 -3 -2 -1
print(list[0])
print(list[2])
print(list[4][2])
print(list[4][3][0])
print(list[-1])
print(list[-2])
'''
结果:
zeruns
blog.zeruns.tech
2
1
[0, 1, 2, [1, 2]]
9527
'''列表的基本操作 列表操作符 操作符含义 < list1 > + < list2 > 连接两个列表 < list > * < 整数类型 > 对列表进行整数次重复 < list >[< 整数类型 >] 索引列表中的元素 len( < seq > ) 获取列表中元素个数 for < var > in < list > : 对列表进行循环列举 < list >[< 整数类型 > : < 整数类型 >] 取列表的一个子序列 < expr > in < list > 成员检查,判断< expr >是否在列表中 ![]() 方法 方法含义 < list >.append( x ) 将元素x增加到列表的最后 < list >.sort( ) 将列表元素排序,默认为升序 < list >.reverse( ) 将列表元素反转 < list >.index( ) 返回第一次出现元素x的索引值 < list >.insert( i, x ) 在位置i处插入新元素x < list >.count( x ) 返回元素x在列表中的数量 < list >.remove( x ) 删除列表中第一次出现的元素x < list >.pop( i ) 取出列表中位置i的元素,并删除它 >>> a = [2,0,9,1,5] >>> b = ['c','w','b','a'] >>> a.append(9) >>> a [2, 0, 9, 1, 5, 9] >>> a.sort() >>> a [0, 1, 2, 5, 9, 9] >>> a.reverse() >>> a [9, 9, 5, 2, 1, 0] >>> b.sort() >>> b ['a', 'b', 'c', 'w'] >>> a.index(5) 2 >>> a.insert(2,7) >>> a [9, 9, 7, 5, 2, 1, 0] >>> a.count(9) 2 >>> a.remove(9) >>> a [9, 7, 5, 2, 1, 0] >>> a.pop(0) 9 >>> a [7, 5, 2, 1, 0]列表推导式列表推导式(又称列表解析式)提供了一种简明扼要的方法来创建列表。它的结构是在一个中括号里包含一个表达式,然后是一个for语句,然后是 0 个或多个 for 或者 if 语句。那个表达式可以是任意的,意思是你可以在列表中放入任意类型的对象。返回结果将是一个新的列表,在这个以 if 和 for 语句为上下文的表达式运行完成之后产生。列表推导式的执行顺序:各语句之间是嵌套关系,左边第二个语句是最外层,依次往右进一层,左边第一条语句是最后一层。data = [i for i in range(10)] #等价于 data = [] for i in range(10): data.append(i) '--------------分割线---------------' data = [2**i for i in range(10)] #等价于 data = [] for i in range(10): data.append(2**i) '--------------分割线---------------' data = [num for num in range(20) if num%2==1] #等价于 data = [] for num in range(20): if num%2==1: data.append(num)应用一个学校,有3个办公室,现在有8位老师等待工位的分配,请编写程序,完成随机的分配 答案:点击阅读原文 运行结果如下: ![]() 元组中的元素值是不允许修改和删除的,但我们可以使用del语句来删除整个元组 >>> a = ('hello',2020,'blog.zeruns.tech') >>> print(a) ('hello', 2020, 'blog.zeruns.tech') >>> del a >>> print(a) Traceback (most recent call last): File "", line 1, in print(a) NameError: name 'a' is not defined所谓元组的不可变指的是元组所指向的内存中的内容不可变。 >>> tup = ('r', 'u', 'n', 'o', 'o', 'b') >>> tup[0] = 'g' # 不支持修改元素 Traceback (most recent call last): File "", line 1, in TypeError: 'tuple' object does not support item assignment >>> id(tup) # 查看内存地址 4440687904 >>> tup = (1,2,3) >>> id(tup) 4441088800 # 内存地址不一样了字典基本概念字典是无序的对象集合,使用键-值(key-value) 存储,具有极快的查找速度。键(key)必须使用不可变类型同一个字典中,键(key)必须是唯一的字典的每个键值key= >value对用冒号:分割,每个键值对之间用逗号,分割,整个字典包括在花括号}中,格式如下所示:dic = {key1 : value1, key2 : value2 }字典键一般是唯的,如果重复最后的一一个键值对会替换前面的,值不需要唯一。键必须不可变,所以可以用数字,字符串或元组充当,而用列表就不行 >>> hhh = {'website':'blog.zeruns.tech','name':'zeruns'} >>> hhh['website'] 'blog.zeruns.tech'常用方法方法 描述 keys() 返回字典中键的列表 values() 返回字典中值的列表 items() 返回tuples的列表。每个tuple由字典的键和相应值组成 clear() 删除字典的所有条目 copy() 返回字典高层结构的一个拷贝,但不复制嵌入结构,而只复制对那些结构的引用 update(x) 用字典x中的键值对更新字典内容。 get(x[,y])) 返回键x,若未找到该键返回none,若提供y,则未找回时返回y str(x) 以字符串形式输出字典x len(x) 返回字典x的元素个数,即键的总数。 >>> hhh = {'website':'blog.zeruns.tech','name':'zeruns'} >>> hhh.keys() dict_keys(['website', 'name']) >>> hhh.values() dict_values(['blog.zeruns.tech', 'zeruns']) >>> hhh.items() dict_items([('website', 'blog.zeruns.tech'), ('name', 'zeruns')]) >>> hhh.copy() {'website': 'blog.zeruns.tech', 'name': 'zeruns'} >>> awsl = {'website':'https://blog.zeruns.tech'} >>> hhh.update(awsl) >>> hhh {'website': 'https://blog.zeruns.tech', 'name': 'zeruns'} >>> hhh.get('website') 'https://blog.zeruns.tech' >>> hhh.get('hhh','666') '666' >>> hhh.clear() >>> hhh {} >>> dict = {'Name': 'zeruns', 'Age': 7, 'Class': 'First'} >>> str(dict) "{'Name': 'zeruns', 'Class': 'First', 'Age': 7}"字典元素修改、添加与删除可以使用字典对象的pop()删除指定“键”对应的元素,同时返回对应的“值"popitem()方法用于删除字典的一个键对,并返回一个包含两个元素的元组,其中的两个元素分别是字典元素的“键”和“值" .也可以使用del删除指定的“键”对应的元素。![]() ![]() ![]() 操作 含义 + 连接 * 重复 < string >[ ] 索引 < string >[ : ] 剪切 len(< string >) 长度 < string >.upper() 字符串中字母大写 < string >.lower() 字符串中字母小写 < string >.strip() 去两边空格及指定字符 < string >.split() 按指定字符分隔字符串为数组 < string >.join() 连接两个字符串序列 < string >.find() 搜索指定字符串 < string >.replace() 字符串替换 for < var > in < string > 字符串迭代 常用方法index(x)、rindex(x): 检测x是否包含在字符串中,返回相应的索引值,如果不存在。返回异常。count(x):返回x在string里面出现的次数。![]() ![]() ![]() ![]() ![]() ![]() ![]() 符 号 描述 %c 格式化字符及其ASCII码 %s 格式化字符串 %d 格式化整数 %u 格式化无符号整型 %o 格式化无符号八进制数 %x 格式化无符号十六进制数 %X 格式化无符号十六进制数(大写) %f 格式化浮点数字,可指定小数点后的精度 %e 用科学计数法格式化浮点数 %E 作用同%e,用科学计数法格式化浮点数 %g 浮点型数据 会去掉多余的零 至多保留6位 %G 浮点型数据 会去掉多余的零 至多保留6位 %p 用十六进制数格式化变量的地址 格式化操作符辅助指令:符号 描述 * 定义宽度或者小数点精度 - 用做左对齐 + 在正数前面显示加号( + ) < sp > 在正数前面显示空格 # 在八进制数前面显示零('0'),在十六进制前面显示'0x'或者'0X'(取决于用的是'x'还是'X') 0 显示的数字前面填充'0'而不是默认的空格 % '%%'输出一个单一的'%' (var) 映射变量(字典参数) m.n. m 是显示的最小总宽度,n 是小数点后的位数(如果可用的话) 应用编写程序,完成以下要求: 统计字符串中,各个字符的个数 比如:"hello world" 字符串统计的结果为:h:1 e:1 l:3 o:2 d:1 r:1 w:1 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |